package cn.iocoder.yudao.module.erp.controller.admin.product.vo.product;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - ERP 产品计划资料 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ErpProductPlanInfoRespVO {
    @Schema(description = "编号", example = "26743")
    @ExcelProperty("编号")
    private Long fid;

    @Schema(description = "计划状态", example = "1")
    @ExcelProperty("计划状态")
    private Long fstatus;

    @Schema(description = "禁用组织")
    @ExcelProperty("禁用组织")
    private String ffreezeorgunit;

    @Schema(description = "物料", example = "25212")
    @ExcelProperty("物料")
    private Long fmaterialid;

    @Schema(description = "物料属性")
    @ExcelProperty("物料属性")
    private Integer fmaterialattr;

    @Schema(description = "物料属性名称")
    @ExcelProperty("物料属性名称")
    private String fmaterialattrname;

    @Schema(description = "制造策略")
    @ExcelProperty("制造策略")
    private Long fplanstrategy;

    @Schema(description = "物料特性")
    @ExcelProperty("物料特性")
    private Long fmaterialchar;

    @Schema(description = "生产计量单位", example = "5173")
    @ExcelProperty("生产计量单位")
    private Integer fproductunitid;

    @Schema(description = "需求分配")
    @ExcelProperty("需求分配")
    private Long fisdemandassign;

    @Schema(description = "是否最大批量法")
    @ExcelProperty("是否最大批量法")
    private Integer fismaxbatchmethod;

    @Schema(description = "最大批量")
    @ExcelProperty("最大批量")
    private BigDecimal fmaxbatchqty;

    @Schema(description = "是否最小批量法")
    @ExcelProperty("是否最小批量法")
    private Integer fisminbatchmethod;

    @Schema(description = "最小批量")
    @ExcelProperty("最小批量")
    private BigDecimal fminbatchqty;

    @Schema(description = "是否取整倍数")
    @ExcelProperty("是否取整倍数")
    private Integer fisroundupmultiple;

    @Schema(description = "批量倍数")
    @ExcelProperty("批量倍数")
    private BigDecimal froundupmultipleqty;

    @Schema(description = "是否批量增量")
    @ExcelProperty("是否批量增量")
    private Integer fisbatchincmethod;

    @Schema(description = "批量增量")
    @ExcelProperty("批量增量")
    private BigDecimal fbatchincqty;

    @Schema(description = "提前期(天)")
    @ExcelProperty("提前期(天)")
    private Long fproduceleadtime;

    @Schema(description = "收货提前期(天)")
    @ExcelProperty("收货提前期(天)")
    private Long frecevingleadtime;

    @Schema(description = "成品率")
    @ExcelProperty("成品率")
    private BigDecimal fyield;

    @Schema(description = "损耗率")
    @ExcelProperty("损耗率")
    private BigDecimal fscraprate;

    @Schema(description = "损耗计算公式")
    @ExcelProperty("损耗计算公式")
    private Long fscraprateexpression;

    @Schema(description = "需求合并")
    @ExcelProperty("需求合并")
    private Long fismergesign;

    @Schema(description = "合并规则")
    @ExcelProperty("合并规则")
    private Long fmergerule;

    @Schema(description = "冲销模式")
    @ExcelProperty("冲销模式")
    private Long foffsetmode;

    @Schema(description = "向前冲销期间")
    @ExcelProperty("向前冲销期间")
    private Long fforwarddaysoffset;

    @Schema(description = "向后冲销期间")
    @ExcelProperty("向后冲销期间")
    private Long fbackwarddaysoffset;

    @Schema(description = "生产线排成")
    @ExcelProperty("生产线排成")
    private Long fisproductlineplan;

    @Schema(description = "领料限额控制")
    @ExcelProperty("领料限额控制")
    private Long fisquotacontrol;

    @Schema(description = "批间隔时间")
    @ExcelProperty("批间隔时间")
    private Long finteval;

    @Schema(description = "主联副产品", example = "1")
    @ExcelProperty("主联副产品")
    private Long foutputtype;

    @Schema(description = "责任部门")
    @ExcelProperty("责任部门")
    private Long fdutydepartment;

    @Schema(description = "是否倒冲")
    @ExcelProperty("是否倒冲")
    private Integer fisbackflush;

    @Schema(description = "前处理时间")
    @ExcelProperty("前处理时间")
    private Long fforwardprocesstime;

    @Schema(description = "后处理时间")
    @ExcelProperty("后处理时间")
    private Long fbackwardprocesstime;

    @Schema(description = "领送料模式")
    @ExcelProperty("领送料模式")
    private Long fissmode;

    @Schema(description = "领料提前期")
    @ExcelProperty("领料提前期")
    private Long fissleadtime;

    @Schema(description = "提前期类型", example = "2")
    @ExcelProperty("提前期类型")
    private Long fleadtimetype;

    @Schema(description = "供应类型", example = "1")
    @ExcelProperty("供应类型")
    private Long fprovidetype;

    @Schema(description = "入库允差基数")
    @ExcelProperty("入库允差基数")
    private Long frcvdispersionbase;

    @Schema(description = "汇报上限允差")
    @ExcelProperty("汇报上限允差")
    private BigDecimal frptinhightlimit;

    @Schema(description = "汇报下限允差")
    @ExcelProperty("汇报下限允差")
    private BigDecimal frptinlowlimit;

    @Schema(description = "入库上限允差")
    @ExcelProperty("入库上限允差")
    private BigDecimal frcvinhightlimit;

    @Schema(description = "入库下限允差")
    @ExcelProperty("入库下限允差")
    private BigDecimal frcvinlowlimit;

    @Schema(description = "领料上限允差")
    @ExcelProperty("领料上限允差")
    private BigDecimal fissinhightlimit;

    @Schema(description = "领料下限允差")
    @ExcelProperty("领料下限允差")
    private BigDecimal fissinlowlimit;

    @Schema(description = "批量政策")
    @ExcelProperty("批量政策")
    private Long fbatchpolicy;

    @Schema(description = "固定批量")
    @ExcelProperty("固定批量")
    private BigDecimal ffixationbatchqty;

    @Schema(description = "物料消耗速率")
    @ExcelProperty("物料消耗速率")
    private BigDecimal fconsumespeed;

    @Schema(description = "再订货点")
    @ExcelProperty("再订货点")
    private BigDecimal frebookqty;

    @Schema(description = "计划方式")
    @ExcelProperty("计划方式")
    private Long fplanningmode;

    @Schema(description = "计划员")
    @ExcelProperty("计划员")
    private String fplanner;

    @Schema(description = "暂存或保存标记", example = "2")
    @ExcelProperty("暂存或保存标记")
    private Long feffectedstatus;

    @Schema(description = "制造策略", example = "22746")
    @ExcelProperty("制造策略")
    private String fmanufacturestrategyid;

    @Schema(description = "检验")
    @ExcelProperty("检验")
    private Long fischeck;

    @Schema(description = "首件检验")
    @ExcelProperty("首件检验")
    private Long fisfirstcheck;

    @Schema(description = "关重件")
    @ExcelProperty("关重件")
    private Long fiskeypart;

    @Schema(description = "质检组织", example = "17804")
    @ExcelProperty("质检组织")
    private String fqualityorgid;

    @Schema(description = "替换方式")
    @ExcelProperty("替换方式")
    private Long freplacemode;

    @Schema(description = "投放选择")
    @ExcelProperty("投放选择")
    private Long fthrowmode;

    @Schema(description = "剩余时间不排程(分钟)")
    @ExcelProperty("剩余时间不排程(分钟)")
    private Long fremaintimenoplan;

    @Schema(description = "调拨批量")
    @ExcelProperty("调拨批量")
    private BigDecimal ftransferbatch;

    @Schema(description = "已有替代料")
    @ExcelProperty("已有替代料")
    private Long fhasreplacematerial;

    @Schema(description = "生产线", example = "26345")
    @ExcelProperty("生产线")
    private String fproductlineid;

    @Schema(description = "是否可配置")
    @ExcelProperty("是否可配置")
    private Long fisconfigable;

    @Schema(description = "备料调拨")
    @ExcelProperty("备料调拨")
    private Long fisstockallot;

    @Schema(description = "是否集中采购件")
    @ExcelProperty("是否集中采购件")
    private Long fiscentralizedpar;

    @Schema(description = "默认采购组织", example = "6827")
    @ExcelProperty("默认采购组织")
    private String fpurorgid;

    @Schema(description = "生产事务类型", example = "1")
    @ExcelProperty("生产事务类型")
    private String fproducttrantype;

    @Schema(description = "需求合并规则", example = "19441")
    @ExcelProperty("需求合并规则")
    private String frequniteruleid;

    @Schema(description = "入库限额控制")
    @ExcelProperty("入库限额控制")
    private Long fisstoragelimit;

    @Schema(description = "汇报限额控制")
    @ExcelProperty("汇报限额控制")
    private Long fisreportinglimit;

    @Schema(description = "隔离规则")
    @ExcelProperty("隔离规则")
    private String fisolatedrule;

    @Schema(description = "部件相关需求消耗")
    @ExcelProperty("部件相关需求消耗")
    private Long fiscomreqconsume;

    @Schema(description = "周期")
    @ExcelProperty("周期")
    private BigDecimal fbatchcycle;

    @Schema(description = "分割类型", example = "2")
    @ExcelProperty("分割类型")
    private Long fpartitiontype;

    @Schema(description = "分割数量(天)")
    @ExcelProperty("分割数量(天)")
    private BigDecimal fpartitiondays;

    @Schema(description = "计划不可投放")
    @ExcelProperty("计划不可投放")
    private Long fisplannorelease;

    @Schema(description = "变动提前期(天)")
    @ExcelProperty("变动提前期(天)")
    private Long fchangeleadtime;

    @Schema(description = "变动批量")
    @ExcelProperty("变动批量")
    private Long fchangebatch;

    @Schema(description = "计划部门", example = "22415")
    @ExcelProperty("计划部门")
    private String fplanorgid;

    @Schema(description = "富余量挪用")
    @ExcelProperty("富余量挪用")
    private Long fismargin;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;
}
